/* 
 * File:   DLContract.hpp
 * Author: Faisal
 *
 * Created on April 27, 2012, 8:39 PM
 *
 * Description:
 *		This contract will be required for all the data context providers because connectionManager need to call the create connection for the specific data context.
 */

#ifndef HDLContract_DL

#define HDLContract_DL

#include "../Include/Shared.hpp"
#include "../Include/ConnectionDefinition.hpp"

using std::string;

namespace Supetronix
{
	namespace PersistO
	{
		namespace DL
		{
                    class DLContract
                    {
                    public:;
                        //virtual string getConnectionString() = 0;

						//this is required method for all the data context providers and it return the provider specific connection object
                        virtual void* createConnection(const Supetronix::PersistO::DL::ConnectionDefinition* connDefinition) = 0;

                        virtual ~DLContract()
                        {}

                    protected:
                        DLContract()
                        { }
                    };
                }
        }
}

#endif